/*
 * communicationCapteurs.h
 *
 *  Created on: 17 janv. 2012
 *      Author: cavramescu
 */

#ifndef COMMUNICATIONCAPTEURS_H_
#define COMMUNICATIONCAPTEURS_H_

/* Header files needed to use the sockets API. */
/* File contains Macro, Data Type and */
/* Structure definitions along with Function */
/* prototypes. */

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <netdb.h>
#include <unistd.h>
#include <errno.h>
#include <pthread.h>

/* BufferLength is 100 bytes */
#define BufferLength 100

/* Default host name of server system. Change it to your default */
/* server hostname or IP.  If the user do not supply the hostname */
/* as an argument, the_server_name_or_IP will be used as default*/
#define SERVER "134.214.105.28"
//#define SERVER "192.168.99.1"

/* Server's port number */
#define SERVPORT 5000

#define OK 1;

//tache qui gere la communication avec les capteurs
int communicationCapteurs();
//tache qui traite le message recu des capteurs et le depose dans une
//boite aux lettres une fois le traitement fini
void *thread_traitement(void *msg);

typedef enum{A1, A2, B1, B2, A1_B1, A1_B2, A2_B1, A2_B2, INCONNU} etat;

typedef struct
{
	char* idCapteur;
	int codeEtat;
	etat etatCap;
} capteurEtat;


// une liste chainee qui stocke tous les infos de capteurs et de leurs etat
struct listCapEtat
{
	capteurEtat capteur;
	struct listCapEtat * next;
};

#endif /* COMMUNICATIONCAPTEURS_H_ */
